# liver_volume.py
"""
肝脏体积和重量计算模块
"""
from .variation_utils import apply_variation

def calculate_liver_volume(bsa, bsa_coefficient, bsa_exponent, liver_volume_cv):
    """
    计算肝脏体积(包含变异)
    
    公式: liver_volume = bsa_coefficient * (bsa ^ bsa_exponent)
    
    参数:
    bsa: 体表面积 (m²)
    bsa_coefficient: BSA系数
    bsa_exponent: BSA指数
    liver_volume_cv: 肝脏体积变异系数(%)
    
    返回:
    肝脏体积 (L)
    """
    # 计算基础肝脏体积
    base_volume = bsa_coefficient * (bsa ** bsa_exponent)
    
    # 应用变异
    return apply_variation(base_volume, liver_volume_cv)

def calculate_liver_weight(liver_volume, liver_density):
    """
    根据肝脏体积计算肝脏重量
    
    公式: liver_weight = liver_volume * liver_density
    
    参数:
    liver_volume: 肝脏体积 (L)
    liver_density: 肝脏密度 (g/L)
    
    返回:
    肝脏重量 (g)
    """
    # 重量 = 体积 × 密度
    return liver_volume * liver_density
